#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//一、基础编程题
//编写程序，设计一个函数int fun（int m, int n），完成公式(m + n) / (m - n)的功能，并在主函数中调用该函数，计算结果并输出。
//（1）源代码（不能截图，只能复制粘贴）
//
//（2）运行结果截图（和程序清单一一对应，只截取相应运行结果截图）
//int fun(float m , float n )
//{
//	 float sum = (m + n) / (m - n);
//	 return sum;
//}
//
//int main()
//{
//	float a = 0, c = 0;
//	scanf("%f %f", &a, &c);
//	
//	printf("%d", fun(a, c));
//
//	return 0;
//}
//2、	编写程序，设计两个函数，函数1：int factoria(int n)和函数2：int facsum(int n), 
// 其中函数1完成阶乘计算功能，函数2完成阶乘的累加计算功能，
// 并在主函数中通过调用函数2，函数2调用函数1完成下面的计算公式的功能：1！ + 2！ + 3！ + ...... + n!，其中n为键盘输入的数据。
//（1）源代码（不能截图，只能复制粘贴）
//
//（2）运行结果截图（和程序清单一一对应，只截取相应运行结果截图）
//
//3!
//
//1 2 3 
//
//3、	编写程序，设计一个函数，求Fibonacci数列的前20项，计算前20项之和，
// 并输出该数列及前20项之和，其中第1项值为0，第二项值为1。
//（1）源代码（不能截图，只能复制粘贴）
//
//（2）运行结果截图（和程序清单一一对应，只截取相应运行结果截图）
//
//int zgq(int *Fibonacci)
//{
//	int i = 0, sum = 0;
//	for (i = 0; i < 20; i++)
//	{
//		sum += *Fibonacci = i;
//		Fibonacci++;
//	}
//	return sum;
//}
//
//int main()
//{
//	int Fibonacci[20] = { 0 };
//	printf("%d", zgq(Fibonacci));
//	return 0;
//}
//4、编写程序，设计一个函数sxh(int n)，
//用于判断数n是否为 “水仙花数”，在主函数中调用此函数输出100~999之间的水仙花数。
//（1）源代码（不能截图，只能复制粘贴）
//
//（2）运行结果截图（和程序清单一一对应，只截取相应运行结果截图）
//水仙花数（Narcissistic number）也被称为 超完全数字不变数 （pluperfect digital invariant, PPDI）、 
//自恋数 、 自幂数 、阿姆斯壮数或 阿姆斯特朗数 （Armstrong number），
//水仙花数是指一个 3 位数，它的每个数位上的数字的 3次幂之和等于它本身。 例如：1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153
//int sxh(int n)
//{
//		int a = n / 100;          // 百位数字
//		int b = (n / 10) % 10;    // 十位数字
//		int c = n % 10;           // 个位数字
//
//		// 计算各位数字的立方和
//		int sum = a * a * a + b * b * b + c * c * c;
//
//		// 判断是否为水仙花数
//		if (sum == n)
//		{
//			return n;
//		}
//		return 0;
//}
//
//int main()
//{
//	int i = 0;
//	for (i = 100; i <= 999; i++)
//	{
//		if (sxh(i) != 0)
//		{
//			printf("%d\n", sxh(i));
//		}
//	}
//
//	return 0;
//}

//二：拓展编程题
//1、使用函数统计指定数字的个数：输入一个整数，统计并输出该数中指定数字的个数。
//要求定义并调用函数countdigit(number, digit)，它的功能是统计整数number中数字digit的个数，
// 例如，countdigit(10090, 0)的返回值是3。
//输入输出示例：
//20252
//2
//Number of digit 2:3
//（1）源代码（不能截图，只能复制粘贴）
//
//（2）运行结果截图（和程序清单一一对应，只截取相应运行结果截图）
// 统计整数number中数字digit的个数
int countdigit(int number, int digit)
{
    int count = 0;
    while (number != 0) 
    {
        if (number % 10 == digit) 
        {
            count++;
        }
        number /= 10;
    }
    return count;
}

int main() {
    int number = 0;
    int digit = 0;

    scanf("%d", &number);
    scanf("%d", &digit);

    int a = countdigit(number, digit);
    printf("Number of digit %d:%d\n", digit, a);

    return 0;
}
